perm filename MG.FRM[P,JRA]1 blob sn#139970 filedate 1975-01-11 generic text, type T, neo UTF8
∂10-JAN-75  1635		1,MG
                     A DEFENCE OF ORDINARY LANGUAGES.
 
 Why bother to try and model the semantics of messy real languages - wouldn't
 it be better to concentrate effort on sensible well designed ones? 
 Several people have told me something like this on hearing that I was trying 
 to handle LISP (warts and all).
 Here's my defence reaction:
 
 (1)Different people dislike different aspects of LISP. John McCarthy thinks that
    call-by-value is wrong (since the analysis of recursion in terms of fixed points
    is slightly simpler if call-by-name is used). People at the Programming
    Research Group in Oxford object to LISP's fluid variables. John Allen doesn't
    like RPLACA,RPLACD and would prefer less general (but more structured)
    data-structure primitives.
 
 (2)I don't think one can allways tell whether a particular feature poses problems
    until one has tried hard to model it. For example early claims that
    call-by-value ruled out the valid use of computation-induction have been
    refuted by DeRoever et.al. of Amsterdam.
 
 (3)People actually program in nasty languages and so if one wants to get reasoning
    techniques realistically tested then it helps to make them applicable to real
    problems.
 
 (4)Working only with abstract toy languages opens the door to the danger that
    one will miss genuine problems which arise in practice but not in theory.